import { request } from '@umijs/max';

/**
 * 获取角色列表
 */
export async function queryRoleList() {
  return request<API.RoleListResponse>('/api/role/list', {
    method: 'GET',
  });
}

/**
 * 创建角色
 * @param params 角色参数（不包含id）
 */
export async function createRole(params: Omit<API.RoleItem, 'id' | 'createdAt'>) {
  return request<API.Result>('/api/role/create', {
    method: 'POST',
    data: {
      ...params,
      createdAt: new Date().toISOString().replace('T', ' ').substring(0, 19)
    },
  });
}

/**
 * 更新角色
 * @param id 角色ID
 * @param params 角色参数
 */
export async function updateRole(id: number, params: Partial<API.RoleItem>) {
  return request<API.Result>(`/api/role/update/${id}`, {
    method: 'PUT',
    data: params,
  });
}

/**
 * 删除角色
 * @param id 角色ID
 */
export async function deleteRole(id: number) {
  return request<API.Result>(`/api/role/delete/${id}`, {
    method: 'DELETE',
  });
}
